Large-scale mesh networks, such as low power and lossy networks (LLNs), are an important component of sensor networks, such as for advance metering infrastructure (AMI) networks and Urban networks. Mesh networks may often be composed of 1000-5000 nodes in a mesh network that is connected to a global computer network, e.g., an Internet Protocol (IP) network such as a wide area network (WAN), using one or more Field Area Routers (FARs). Using multiple FARs to provide access for a single mesh network is desirable as it removes a single point of failure, reduces the average diameter of the network, reduces average communication latency, and increases aggregate throughput when communicating with devices outside the network.
A routing protocol, such as the Routing Protocol for LLNs (RPL), may be used within the mesh network in order to deliver packets to FARs and other mesh devices. For example, RPL is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG, or simply DAG) from the FARs such that each mesh device configures a default route towards one or more FARs. In this configuration, a device can freely switch between FARs with little impact on traffic going outside the mesh network since every FAR also has a default route configured towards its WAN exit point.
One challenge associated with this topology is presented by traffic coming from outside the mesh network and destined to devices inside the mesh network. For instance, devices in a mesh may be connected to multiple FARs via different DAGs for redundancy purposes. Usually such DAGs are as diverse as possible but they may partially overlap. Also, some nodes may be attached to a subset of these DAGs: that is, a device may only communicate through a subset of FARs, and each FAR only maintains routes for a subset of devices within the mesh network. As a result, when routing packets into a mesh network, it is necessary to determine which FAR contains the route to the destination. Furthermore, there are a number of reasons why a node may move from one FAR to another FAR (failure of the FAR acting as the DAG root, more optimal path to the WAN/backbone, etc.).